System and method of controlling ankles of walking robot

ABSTRACT

Disclosed herein is a system and method of controlling one or more ankles of a walking robot. In the above system and method, an input torque u to be applied to an ankle of a robot is obtained by compensating a target torque τ d  with an acting torque τ c  measured using a sensor and applied by a support surface and then an actual torque τ applied by the ankle of a foot is instead fed back into the control system. Therefore, proper balance of the walking robot is ensured.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims under 35 U.S.C. §119(a) the benefit of KoreanPatent Application No. 10-2012-0051492 filed May 15, 2012, the entirecontents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a system and method of controlling oneor more ankles of a walking robot, which autonomously achievesconformity and maintains balance within the upper body of the robot whenone or more soles of the feet of the robot step on a support surface atan unknown angle.

2. Description of the Related Art

The control of balance is indispensable to biped robots due to theirmechanical components and operation. In particular, the control of anactuation unit that actuates the soles of the feet of the robot thatstep on a support surface is important to the overall balance of theentire mechanism. That is, the soles of the feet must be supported and,at the same time, the balance of the upper body must be maintained.Conventionally, a two depth of field (D.O.F.) control algorithms relatedto an ankle joint controller has been suggested in a printed publicationin Japan in the form of a thesis (see “On Modal Interaction, Reliabilityand Nonlinear Dynamics of a Model Two D.O.F. Mechanical SystemPerforming Snap-Through Motion,” Nonlinear dynamics Volume 16, Number 3,239-257, ISSN 0924-090X). However, the control algorithm used in theabove thesis does not have a desirable configuration or performance formost robotic manufactures based upon experimental results conducted bythe inventors of the present application.

More specifically, the conventional technology uses a control methodthat calculates a target torque for an ankle of a robot, performscontrol using this target torque as an input torque, checks theimbalance of the robot using separate dynamics, and then performs acompensation function. However, in the conventional technology, both anerror factor attributable to the difference between the sole of a footof a robot and a support surface and an error factor attributable to thedifference between control input and actual behavior are not taken intoconsideration. Therefore, there is a need for a control system andmethod which takes these factors into consideration to achieveconformity and better maintain balance within the upper body of therobot.

The description of the related art is intended merely to promote theunderstanding of the background of the present invention, nor is itintended to acknowledge conventional technology that is well known tothose having ordinary knowledge in the technical field to which thepresent invention pertains.

SUMMARY OF THE INVENTION

Accordingly, the present invention has been made keeping in mind theabove problems occurring in the prior art, and an object of the presentinvention is to provide a method of controlling one or more ankles of awalking robot, which autonomously achieves conformity and maintains thebalance of the upper body of the walking robot when one or more soles ofthe feet of the walking robot step on a support surface at an unknownangle.

In order to accomplish the above object, the present invention providesa method of controlling ankles of a walking robot, wherein an inputtorque u to be applied to an ankle of a robot is obtained bycompensating a target torque τ_(d) with an acting torque τ_(c) measuredusing a sensor and applied by a support surface and then feeding back anactual torque τ applied by the ankle of a foot to the control system,thereby ensuring the balance of walking of the robot.

The input torque u may be obtained by adding the product of the actingtorque τ_(c) and a gain K_(d)(1−(τ_(d)/K_(d)τ_(c))) to the target torqueτ_(d) and then subtracting the product of the actual torque τ and a gainK_(c) from the result of the summation (here, K_(d) is an errorcompensation coefficient for a difference between an angle of a sole ofa foot of the robot and an angle of the support surface, and K_(c) is anerror compensation coefficient for a difference between an intendedangle and an actually attained angle of the sole of the foot).

Accordingly, the input torque u may be obtained using the equationu=τ_(c)K_(d)−τK_(c). K_(c) may be obtained using the equationK_(c)=R⁻¹B^(T)P, where R is an input weight of linear quadraticregulator (LQR) control, Q is an output weight of LQR control, A, B andC are matrixes of a system, and P is a coefficient for an input x of aHamiltonian function. K_(d) may be obtained using the equationK_(d)=R⁻¹B^(T)(A^(T)−BK_(c))^(−T)C^(T)Q, where R is an input weight ofLQR control, Q is an output weight of LQR control, A, B and C arematrixes of a system, and P is a coefficient for an input x of aHamiltonian function.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the presentinvention will be more clearly understood from the following detaileddescription taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 is a diagram illustrating an exemplary configuration of a systemand method of controlling one or more ankles of a walking robotaccording to an exemplary embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference now should be made to the drawings, in which the samereference numerals are used throughout the different drawings todesignate the same or similar components.

Although the below exemplary embodiment is described as using aplurality of units to perform the above process, it is understood thatthe above processes may also be performed by a single controller orunit. Furthermore, the control logic of the present invention may beembodied as non-transitory computer readable media on a computerreadable medium containing executable program instructions executed by aprocessor, controller or the like. Examples of the computer readablemediums include, but are not limited to, ROM, RAM, compact disc(CD)-ROMs, magnetic tapes, floppy disks, flash drives, smart cards andoptical data storage devices. The computer readable recording medium canalso be distributed in network coupled computer systems so that thecomputer readable media is stored and executed in a distributed fashion,e.g., by a telematics server or a Controller Area Network (CAN).

A system and method of controlling one or more ankles of a walking robotaccording to a preferred embodiment of the present invention will bedescribed below with reference to the accompanying drawings.

FIG. 1 is a diagram illustrating an exemplary configuration of a systemand method of controlling one or more ankles of a walking robotaccording to an exemplary embodiment of the present invention. Thesystem and method of controlling the ankles of a walking robot accordingto the present invention is configured to obtain an input torque u to beapplied to an ankle of the robot by compensating a target torque τ_(d)with an acting torque τ_(c) measured by a sensor 105 and applied by asupport surface and then feeding back the actual torque τ applied to theankle, thereby ensuring the balance of the walking of the robot. Thatis, the input torque u is input to a joint of the robot, so that theangle of the actuation of the joint is controlled, thereby maintainingproper balance of the robot while walking or stopping. The actual torqueτ is input into the lead/lag compensator 110 and then applied to acontrol portion of a robot system 120.

In order to calculate the input torque u, the target torque τ_(d) basedon the system of the robot is calculated and then input. Since a varietyof systems and methods of calculating the target torque τ_(d) of a robotare known, a detailed description of such a method will be omittedherein.

More specifically, the control based on the target torque τ_(d) of arobot is subject to two types of error factors. One type of error factoris attributable to the difference between the angle of the sole of afoot and the angle of a support surface, and the other type of errorfactor is attributable to the difference between the intended angle ofthe sole of the foot and the actually attained angle of the sole of thefoot. Accordingly, it is necessary to calculate and apply an inputtorque u while taking into consideration the above two types of errorfactors.

For this purpose, the input torque u is obtained by compensating thetarget torque τ_(d) with the acting torque τ_(c) measured using a sensorand applied by the support surface and then feeding back the actualtorque τ applied by the ankle of the foot into the control portion ofthe robot system 120 through the compensator 110, thereby ensuring thebalance of walking of the robot.

More specifically, the input torque u is obtained by adding a valueobtained by summing the product of the acting torque τ_(c) and a gainK_(d)(1−(τ_(d)/K_(d)τ_(c))) to the target torque τ_(d) and thensubtracting a product of the actual torque τ and the gain K_(c) from theresult of the addition (here, K_(d) is an error compensation coefficientfor the difference between the angle of the sole of a foot of the robotand the angle of the support surface, and K_(c) is an error compensationcoefficient for the difference between an intended angle and theactually attained angle of the sole of the foot).

Finally, the input torque u is obtained using the equationu=τ_(c)K_(d)−τK_(c). That is, the input torque u input to the robot isreplaced with a value related to the acting torque τ_(c) applied by thesupport surface, and the actual torque τ applied to the ankle is fedback, thereby calculating the input torque u while taking intoconsideration the two types of error factors.

Meanwhile, K_(c) may be obtained using the equation K_(c)=R⁻¹B^(T)P, andK_(d) may be obtained using the equation K_(d)=R⁻¹B^(T)(A^(T)−BK_(c))^(−T)C^(T)Q. In these equations, R is the input weight ofLQR control, Q is the output weight of LQR control, A, B and C are thematrixes of the system, and P is a coefficient for the input x of aHamiltonian function.

More specifically, a state space model for the system of the robot maybe expressed by the following determinants:{dot over (x)}=Ax+Buy=Cx

Furthermore, a performance index for LQR control is generally expressedas follows:

Performance index (Cost function)

$J = {\min\limits_{c}\left\lbrack {{\frac{1}{2}{{\mathbb{e}}^{T}(T)}Q_{f}{e(T)}} + {\frac{1}{2}{\int_{t_{0}}^{T}{\left( {{{\mathbb{e}}^{T}Q\; e} + {u^{T}R\; u}} \right){\mathbb{d}t}}}}} \right\rbrack}$where e=y−y_(d)=C(x−x_(d)), t₀ is the initial time, and I is the finaltime

$\left( \quad \right.\frac{1}{2}{{\mathbb{e}}^{T}(T)}Q_{f}{e(T)}$is the final cost, and

$\frac{1}{2}{\int_{t_{0}}^{T}{\left( {{{\mathbb{e}}^{T}Q\; e} + {u^{T}R\; u}} \right){\mathbb{d}t}}}$is the running cost (integrated cost))

Furthermore, the Hamiltonian function that is used to solve the aboveperformance index may be expressed, as follows:

Hamiltonian FunctionH=e ^(T) Qe+u ^(T) Ru+λ ^(T)(Ax+Bu)

When the Hamiltonian function is solved for the maximum principle, thefollowing can be obtained:

Use the Maximum Principle

$\left. \begin{matrix}{x = {\left( \frac{\partial H}{\partial\lambda} \right)^{T} = {{A\; x} + {B\; u}}}} & {\text{-}\mspace{14mu}{Eq}{.1}} \\{{- \lambda} = {\left( \frac{\partial H}{\partial x} \right)^{T} = {{C^{T}Q\;{C\left( {x - x_{\partial}} \right)}} + {A^{T}\lambda}}}} & {\text{-}\mspace{14mu}{Eq}{.2}}\end{matrix} \right\rbrack\begin{matrix}{{{If}\mspace{14mu}\left( {x,u} \right)\mspace{14mu}{is}\mspace{14mu}{optimal}},\mspace{11mu}{{then}\mspace{14mu}{there}\mspace{14mu}{exists}}} \\{{\lambda(t)}\mspace{14mu}\varepsilon\mspace{14mu} R\; n\mspace{14mu}{and}\mspace{14mu} v\mspace{14mu}\varepsilon\mspace{14mu} R\; q}\end{matrix}$${0 = {\left( \frac{\partial H}{\partial u} \right)^{T} = {{{R\; u} + {\lambda\;\left. B^{T}\longrightarrow u \right.}} = {{{- R^{- 1}}B^{T}\lambda\mspace{20mu}\text{-}{Eq}{.3}}\mspace{14mu} - \mspace{14mu}{{minimizing}\mspace{14mu}{the}\mspace{14mu}{cost}}}}}},$

Furthermore, in this case, λ=Px+h. From this equation, it can be seenthat a separate desired value x_(d) is required because h is includedunlike in general LQ control.

Using the above principle, the required error coefficients K_(c) andK_(d) can be obtained using the following process:{dot over (λ)}={dot over (P)}x+Px+{dot over (h)}={dot over (P)}x+P(Ax−BR⁻¹ B ^(T) Px−BR ⁻¹ B ^(T) h)+{dot over (h)}({dot over (x)}=Ax+Bu=Ax+B(−R ⁻¹ B ^(T)λ)=Ax−BR ⁻¹ B ^(T) Px−BR ⁻¹ B^(T) h).Using Eq 1 and Eq 3{dot over (P)}x+P(Ax−BR ⁻¹ B ^(T) Px−BR ⁻¹ B ^(T) h)+{dot over (h)}=−C^(T) QC(x−x _(d))−A ^(T) λ=−{circumflex over (Q)}(x−x _(d))−A^(T)(Px+h)({dot over (Q)}=C ^(T) QC).Equal to Eq. 2{dot over (P)}x+PAx−PBR ⁻¹ B ^(T) Px−PBR ⁻¹ B ^(T) h+{dot over (h)}+{dotover (Q)}x−{circumflex over (Q)}x _(d) +A ^(T) Px+A ^(T) h=0−{dot over (P)}x=PAx−PBR ⁻¹ B ^(T) Px+{dot over (Q)}x+A ^(T) Px−{dot over (P)}=PA+A ^(T) P−PBR ⁻¹ B ^(T) P+{dot over (Q)}−{dot over (h)}=−PBR ⁻¹ B ^(T) h−{circumflex over (Q)}x _(d) +A ^(T) h

-   -   If T goes to infinity; P and h are constant        0=PA+A ^(T) P−PBR ⁻¹ B ^(T) P+{dot over (Q)}←Algenraic Riccati        Equation(ARE) solve for P=P ^(T)>0        0=−PBR ⁻¹ B ^(T) h−{dot over (Q)}x _(d) +A ⁺ h→0=(A ^(T) −PBR ⁻¹        B ^(T))h−{dot over (Q)}x _(d)→0=(A−BR ⁻¹ B ^(T) P)^(T) h−{dot        over (Q)}x _(d)        h=(A−BR ⁻¹ B ^(T) P)^(−T) {circumflex over (Q)}x _(d)=(A−BK        _(x))^(−T) C _(T) QCx _(d)=(A−BK _(y))^(−T) C ^(T) Qy _(d)        R=R ^(T)(R is diagonal),P=P ^(T) (due to ARE        u=−R ⁻¹ B ^(T) Px−R ⁻¹ B ^(T) h=−R ⁻¹ B ^(T) Px−R ⁻¹ B ^(T)(A        ^(T) −BK _(d))^(−T) C ^(T) Qy _(d) =−K _(d) x−K _(d) Y _(d)        K _(x) =R ⁻¹ B ^(T) P        K _(d) =R ⁻¹ B ^(T)(A ^(T) −BK _(x))^(−T) C ^(T) Q

As can be seen from the principle, in summary, K_(c) may be obtainedusing the equation K_(c)=R⁻¹B^(T)P, and K_(d) may be obtained using theequation K_(d)=R⁻¹B^(T)(A^(T)−BK_(c))^(−T)C^(T)Q. Here, A, B and C aresystem matrixes, and Q and R are performance indices necessary for LQRcontrol and need to be input separately.

In general, a user may freely select values. That is, when the useplaces emphasis on energy efficiency, R is set to a lower value. Incontrast, when the user places emphasis on the precision of final outputand intensity rather than energy, Q is set to a larger value.Furthermore, when P is obtained under the condition in which x ismaximal in the Hamiltonian function H=e^(T)Qe+u^(T)Ru+λ^(T)(Ax+Bu) andis then used, the range of control of the system is increased. Accordingto the system and method of controlling one or more ankles of a walkingrobot configured as described above, the robot is enabled toautonomously and conformably step on an unknown support surface.

The angle of the actuation of the robot is controlled using a desiredtorque as the torque applied between the support surface and the sole ofthe foot, and therefore a control algorithm is configured so that areference value is set to 0 when the acting torque τ_(c) should be 0 toperform balance control, with the result that a corresponding angle ofthe joint can be maintained and a stationary state can be achieved.

Furthermore, proportional-integral-derivative (PID) control can beeasily applied because the configuration of the system is simple. Sincea wearable robot operates along with a human, safety should takepriority over all other things. The present invention may be applied toa safety apparatus to maintain balance and prevent rollovers in case ofemergency.

Although the preferred embodiments of the present invention have beendisclosed for illustrative purposes, those skilled in the art willappreciate that various modifications, additions and substitutions arepossible, without departing from the scope and spirit of the inventionas disclosed in the accompanying claims.

What is claimed is:
 1. A method of controlling one or more ankles of awalking robot, comprising: obtaining an input torque u to be applied toan ankle of a robot by compensating a target torque τ_(d) with an actingtorque τ_(c) measured using a sensor and applied by a support surface;and in response to compensating the target torque with the actingtorque, feeding back an actual torque τ applied by the ankle of a footto ensure proper balance of the walking robot, wherein the input torqueu is obtained by adding a product of the acting torque τ_(c) and a gainK_(d) (1−(τ_(d)/K_(d)τ_(c))) to the target torque τ_(d) and thensubtracting a product of the actual torque τ and a gain K_(c) from aresult of the addition wherein K_(d) is an error compensationcoefficient for a difference between an angle of a sole of the foot ofthe robot and an angel of the support surface, and K_(c) is an errorcompensation coefficient for a difference between an intended angle andan actually attained angle of the sole of the foot.
 2. The method as setforth in claim 1, wherein K_(c) is obtained using an equation K_(c)=R⁻¹B^(T) P, where R is an input weight of linear quadratic regulator (LQR)control, Q is an output weight of LQR control, B is a matrix of asystem, and P is a coefficient for an input x of a Hamiltonian function.3. The method as set forth in claim 2, wherein K_(d) is obtained usingan equation K_(d)=R⁻¹ B^(T) (A^(T)−BK_(c))^(−T) C^(T) Q, where R is aninput weight of LQR control, Q is an output weight of LQR control, A andC are matrices of a system, and P is a coefficient for an input x of aHamiltonian function.
 4. A non-transitory computer readable mediumcontaining program instructions executed by a processor or controllerfor controlling one or more ankles of a walking robot, thenon-transitory computer readable medium comprising: program instructionsthat obtain an input torque u to be applied to an ankle of a robot bycompensating a target torque τ_(d) with an acting torque τ_(c) measuredusing a sensor and applied by a support surface; and programinstructions that feed back an actual torque τ applied by the ankle of afoot to ensure proper balance of the walking robot in response tocompensating the target torque with the acting torque, where the inputtorque u is obtained by adding a product of the acting torque τ_(c) anda gain K_(d) (1−(τ_(d)/K_(d)τ_(c))) to the target torque τ_(d) and thensubtracting a product of the actual torque τ and a gain K_(c) from aresult of the addition wherein K_(d) is an error compensationcoefficient for a difference between an angle of a sole of the foot ofthe robot and an angel of the support surface, and K_(c) is an errorcompensation coefficient for a difference between an intended angle andan actually attained angle of the sole of the foot.
 5. Thenon-transitory computer readable medium as set forth in claim 4, whereinK_(c) is obtained using an equation K_(c)=R⁻¹ B^(T) P, where R is aninput weight of linear quadratic regulator (LQR) control, Q is an outputweight of LQR control, B is a matrix of a system, and P is a coefficientfor an input x of a Hamiltonian function.
 6. The non-transitory computerreadable medium as set forth in claim 5, wherein K_(d) is obtained usingan equation K_(d)=R⁻¹ B^(T) (A^(T)−BK_(c))^(−T) C^(T) Q, where R is aninput weight of LQR control, Q is an output weight of LQR control, A andC are matrices of a system, and P is a coefficient for an input x of aHamiltonian function.
 7. A system for controlling one or more ankles ofa walking robot, the system comprising: a processor configured to obtainan input torque u to be applied to an ankle of a robot by compensating atarget torque τ_(d) with an acting torque τ_(c) measured using a sensorand applied by a support surface, and feed back an actual torque τapplied by the ankle of a foot to ensure proper balance of the walkingrobot in response to compensating the target torque with the actingtorque, where the input torque u is obtained by adding a product of theacting torque τ_(c) and a gain K_(d) (1−(τ_(d)/K_(d)τ_(c))) to thetarget torque τ_(d) and then subtracting a product of the actual torqueτ and a gain K_(c) from a result of the addition wherein K_(d) is anerror compensation coefficient for a difference between an angle of asole of the foot of the robot and an angel of the support surface, andK_(c) is an error compensation coefficient for a difference between anintended angle and an actually attained angle of the sole of the foot.8. The system as set forth in claim 7, wherein K_(c) is obtained usingan equation K_(c)=R⁻¹B^(T) P, where R is an input weight of linearquadratic regulator (LQR) control, Q is an output weight of LQR control,B is a matrix of a system, and P is a coefficient for an input x of aHamiltonian function.
 9. The system as set forth in claim 8, whereinK_(d) is obtained using an equation K_(d)=R⁻¹ B^(T) (A^(T)−BK_(c))^(−T)C^(T) Q, where R is an input weight of LQR control, Q is an outputweight of LQR control, A and C are matrices of a system, and P is acoefficient for an input x of a Hamiltonian function.